package com.member.shop.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.member.common.annotation.Excel;
import com.member.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.util.Date;

/**
 * 用户列对象 sys_biz_user
 *
 * @author lixinchen
 * @date 2024-01-03
 */
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_biz_user")
public class SysBizUserVerifyVo extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 用户主键id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户唯一id
     */
    private String bizId;

    /**
     * 昵称(用户)
     */
    @Excel(name = "用户昵称")
    private String nickName;
    /**
     * 手机号(用户)
     */
    @Excel(name = "手机号")
    private String userPhone;


    /**
     * 姓名(上级)
     */
    @Excel(name = "上级")
    private String fullNameParent;

    /**
     * 手机号(上级)
     */
    @Excel(name = "上级手机号")
    private String userPhoneParent;

    /**
     * 会员等级id(上级)
     */
    private String memberGradeIdParent;
    /**
     * 会员等级名称(上级)
     */
    @Excel(name = "上级会员等级")
    private String gradeNameParent;

    /**
     * 可发展会员人数(上级)
     */
    @Excel(name = "上级可发展会员人数")
    private Long availableMembersParent;
    /**
     * 已发展会员人数(上级)
     */
    @Excel(name = "上级已发展会员人数")
    private Long developedMembersParent;

    /**
     * 绑定时间（用户）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "绑定时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date bindTime;
    /**
     * 核实状态（用户）
     */
    private Integer verifyStatus;

    /**
     * 核实状态名称（用户）
     */
    @Excel(name = "核实状态")
    @TableField(exist = false)
    private String verifyStatusName;

    /**
     * 核实时间（用户）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "核实时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date verifyTime;

    /**
     * 上级id
     */
    private Long parentId;
}
